home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
amok_lha
/
amok58.lha
/
QSort
/
QSort.dok
< prev
next >
Wrap
Text File
|
1993-08-15
|
2KB
|
44 lines
(*------------------------------------------------------------------)
:Program. QSort (QuickSort-Algorithmus)
:Author. Philippe Gressly (PHILU)
:Address. Näfenhaus, CH-8926 Kappel a/Albis
:History V0.99 (1.8.91)
:Update.
:Copyright. PD
:Language. Modula-II
:Translator. M2Amiga
:Imports.
:Support.
:Bugs.
:Contents. Die Procedur zum Sortieren von Arrays.
:Remark.
:Usage. (zB. CLI-Befehle)
(------------------------------------------------------------------*)
QSort ist recht einfach in der Anwendung. Vor allem für Arrays ist
der Quick-Sort gerade geschaffen. Jedes Element (Zahl, String, Record)
kriegt eine Nummer. Um QSort anzuwenden müssen wir zuerst zwei
Prozeduren schreiben. Eine, die uns die Elemente vergleicht, und eine,
die uns die Elemente vertauscht. Die Prozeduren müssen Level Null haben
und werden dem QSort mit übergeben.
Die Prozedur gt (greater than = größer als) zum Vergleichen von Elementen
kriegt zwei Parameter (Nr1 und Nr2). Ist das Element an der Stelle Nr1
echt größer als das Element an der Stelle Nr2, so soll die Prozedur
TRUE zurückgeben, sonst FALSE.
Die Procedur swp (swap = vertauschen) kriegt ebenfalls zwei Argumente,
nämlich die Nummern der Elemente die zu vertauschen sind.
Beispiel: swp(4,7) soll das Element mit Nummer 4 mit dem
Element mit Nummer 7 vertauschen.
Das Modul QSortTest enthält eine einfache Anwendung: Das Sortieren von
ganzen Zahlen.
Alles funktioniert natürlich auch für andere ARRAYS. Es müssen wie gesagt
nur die beiden Proceduren geschrieben werden, und dem Algorithmus QSort
mitübergeben werden.